﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Data;


namespace BUS
{
    class GlobalFunction
    {
        /// <summary>
        /// Kiểm tra xem độ dài chuỗi có nằm trong khoảng quy định không (ví dụ kích thước SDT fải lớn hơn 9 số (SDT bàn or di động) và nhỏ hơn 12 số)
        /// </summary>
        public static bool KiemTraDoDaiChuoi(string ChuoiKT, int KTNganNhat, int KTDaiNhat)
        {
            if (ChuoiKT.Length < KTNganNhat || ChuoiKT.Length > KTDaiNhat)
                return false;
            return true;
        }

        /// <summary>
        /// Kiểm tra xem chuỗi có phải toàn số không?
        /// </summary>
        public static bool KiemTraNhapSo(string ChuoiKT)
        {
            Regex regex = new Regex(@"^[-+]?[0-9]*\.?[0-9]+$");
            return regex.IsMatch(ChuoiKT);
        }

        /// <summary>
        /// Kiểm tra xem chuỗi có đúng định dạng email hay không?
        /// </summary>
        public static bool KiemTraEmail(string ChuoiKT)
        {
            string strRegex = @"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
         @"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
         @".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$";
            Regex re = new Regex(strRegex);
            if (re.IsMatch(ChuoiKT))
                return (true);
            else
                return (false);
        }

        /// <summary>
        /// Hàm kiểm tra xóa 1 dòng được chọn, nếu dòng đó không tồn tại trong các bảng có quan hệ với nó
        /// </summary>
        public static int KiemTraXoa(DataTable Dtb, string TenMaKT, string MaKT)
        {
            DataRow[] DrsNV = Dtb.Select(TenMaKT + MaKT);
            return DrsNV.Length;
        }

        public static DataTable LietKeLookEdit(string NameProc)
        {
            return DAO.SQLDataProvider.ExecuteQueryString(NameProc);
        }
    }
}
